package com.hyou.springboot.base;

import java.io.Serializable;

import com.hyou.common.base.BaseBean;

/**
 * 应答消息对象，用于Controller层的应答消息数据封装。
 * 
 * @author FengChangshuo
 * @version 1.0.0 2018-03-27 15:41:12 初始创建
 */
public class ResponseMessage<T extends Serializable> extends BaseBean {
    
    /**
     * serialVersionUID
     */
    private static final long serialVersionUID = 5250925647714333414L;
    
    /**
     * <pre>
     * 应答结果编码
     * 0 ： 执行成功/数据上传成功
     * 1 ： 执行失败
     * 100 ： 请求的服务/资源不存在
     * 200 ： 数据格式错误，无法正确解析
     * </pre>
     */
    private int code;
    
    /**
     * 提示消息内容
     */
    private String msg;
    
    /**
     * 应答数据对象
     */
    private T data;
    
    public ResponseMessage() {
    }
    
    public ResponseMessage(int code, String msg, T data) {
        this.code = code;
        this.msg = msg;
        this.data = data;
    }
    
    /**
     * <pre>
     * 应答结果编码
     * 0 ： 执行成功/数据上传成功
     * 1 ： 执行失败
     * 100 ： 请求的服务/资源不存在
     * 200 ： 数据格式错误，无法正确解析
     * </pre>
     * 
     * @return 应答结果编码
     */
    public int getCode() {
        return this.code;
    }
    
    /**
     * <pre>
     * 应答结果编码
     * 0 ： 执行成功/数据上传成功
     * 1 ： 执行失败
     * 100 ： 请求的服务/资源不存在
     * 200 ： 数据格式错误，无法正确解析
     * </pre>
     * 
     * @param code 应答结果编码
     */
    public void setCode(int code) {
        this.code = code;
    }
    
    /**
     * @return 应答数据对象
     */
    public T getData() {
        return this.data;
    }
    
    /**
     * @param data 应答数据对象
     */
    public void setData(T data) {
        this.data = data;
    }
    
    /**
     * @return 提示消息内容
     */
    public String getMsg() {
        return this.msg;
    }
    
    /**
     * @param msg 提示消息内容
     */
    public void setMsg(String msg) {
        this.msg = msg;
    }
    
}
